<?php

/**
 * This is the model class for table "group_answer_per_ques".
 *
 * The followings are the available columns in table 'group_answer_per_ques':
 * @property integer $id
 * @property string $per_ques_id
 * @property string $text
 */
class mGroupAnswerPerQues extends CActiveRecord {

  /**
   * Returns the static model of the specified AR class.
   * @param string $className active record class name.
   * @return mGroupAnswerPerQues the static model class
   */
  public static function model($className = __CLASS__) {
    return parent::model($className);
  }

  /**
   * @return string the associated database table name
   */
  public function tableName() {
    return 'group_answer_per_ques';
  }

  /**
   * @return array validation rules for model attributes.
   */
  public function rules() {
    // NOTE: you should only define rules for those attributes that
    // will receive user inputs.
    return array(
        array('id, per_ques_id, text', 'required'),
        array('id', 'numerical', 'integerOnly' => true),
        array('per_ques_id', 'length', 'max' => 512),
        array('text', 'length', 'max' => 200),
        // The following rule is used by search().
        // Please remove those attributes that should not be searched.
        array('id, per_ques_id, text', 'safe', 'on' => 'search'),
    );
  }

  /**
   * @return array relational rules.
   */
  public function relations() {
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
    );
  }

  /**
   * @return array customized attribute labels (name=>label)
   */
  public function attributeLabels() {
    return array(
        'id' => 'ID',
        'per_ques_id' => 'Per Ques',
        'text' => 'Text',
    );
  }

  /**
   * Retrieves a list of models based on the current search/filter conditions.
   * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
   */
  public function search() {
    // Warning: Please modify the following code to remove attributes that
    // should not be searched.

    $criteria = new CDbCriteria;

    $criteria->compare('id', $this->id);
    $criteria->compare('per_ques_id', $this->per_ques_id, true);
    $criteria->compare('text', $this->text, true);

    return new CActiveDataProvider($this, array(
        'criteria' => $criteria,
    ));
  }

  public function getTextByAttribute($id, $per_ques_id) {
    $rows = db()->createCommand()
            ->from('group_answer_per_ques')
            ->where('id=:id and per_ques_id=:per_ques_id ', array(':id' => $id,':per_ques_id'=>$per_ques_id))
            ->queryRow();
    
    if ($rows==false) {
      return false;
    }
    return $rows;
  }

  public function getUserAnswer($user_id) {
    $rows = db()->createCommand()
            ->select('pq.*, uaq.text as text1')
            ->from('personality_questions pq')
            ->leftjoin('user_answer_question uaq','uaq.question_id = pq.id and uaq.user_id=:user_id',array(':user_id'=>$user_id))
            ->where('sex="female" and active=1 and uaq.text is null')
            ->order('ordinal')
            ->queryRow();
    
    if ($rows==false) {
      return false;
    }
    return $rows;
  }
}